/*
 * To change this template, choose Tools | Templates
 * and open the template in the editor.
 */
package com.dp1.pucp.Compras.Controlador;

import com.dp1.pucp.Compras.DAO.ProveedorDAO;
import com.dp1.pucp.Compras.VIsta.*;
import com.dp1.pucp.Modelo.Clases.Tipoproducto;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import java.util.ArrayList;

/**
 *
 * @author lucia
 */
public class BuscarProductoControlador {
    BuscarProductoGUI vista;
    ProveedorDAO dao;
    AgregarProdProvControlador controlador;
    
    ArrayList<Tipoproducto> listaproductos = new ArrayList<>();
    
    public BuscarProductoControlador( ProveedorDAO dao, BuscarProductoGUI vista, AgregarProdProvControlador controlador){
        this.controlador = controlador;
        this.dao = dao;
        this.vista = vista;
        
        vista.addBuscarListener(new buscarListener());
        vista.addLimpiarListener (new limpiarListener());
        vista.addGuardarListener(new guardarListener(controlador));
        vista.addCancelarListener (new cancelarListener());
        
    }
    
    class cancelarListener implements ActionListener{
        @Override
        public void actionPerformed(ActionEvent e){
            vista.dispose();
        }
    }
    
     class buscarListener implements ActionListener{
        @Override
        public void actionPerformed(ActionEvent e){
            String nombre = vista.getNombre(); 
            nombre = nombre.toUpperCase();
            listaproductos = dao.listarInsumo(nombre);
            vista.llenaGrilla(listaproductos);
        }
    }
     
      class limpiarListener implements ActionListener{
        @Override
        public void actionPerformed(ActionEvent e){
            vista.LimpiarDatos();
        }
    }
       class guardarListener implements ActionListener{
           AgregarProdProvControlador controlador;
           public guardarListener(AgregarProdProvControlador controlador){
               this.controlador = controlador;
           }
        @Override
        public void actionPerformed(ActionEvent e){
            int sel= vista.getFilaSel();
            if (sel!=-1){
                controlador.setProducto(listaproductos.get(sel));
                vista.dispose();
                }
                else{
                vista.mostrarError("Debe seleccionar una materia prima para guardar");
                }   
        }
    }
      
    
    
}
